Graphical display of locations

ABSTRACT

Methods, systems, and apparatuses are disclosed which include receiving an indication of a first future date from a user, determining that one or more friends of the user in a social network are associated with one or more future locations including a second future date that matches the first future date, displaying a geographic map including a friend representation corresponding to each of the one or more future locations where the one or more friend of the user are going to be physically present, the friend representation including a number of friends of the user that are physically present at the respective future location on the first future date, receiving, from the user, an indication at one of the friend representations, and displaying a list including at least one of one or more friends associated with the future location and one or more events associated with the future location.

RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.13/572,962, filed Aug. 13, 2012, which is incorporated herein byreference in its entirety.

BACKGROUND

This disclosure relates generally to geographical information systemsand social and professional networking.

Some web and mobile applications provide information about a currentlocation of a user. This allows a user to share his or her location withfriends. However, a user has to ask friends where they will be in thefuture or ask if they are attending an event. If multiple friends areinvolved, it can be a hassle for each friend to respond to multipleinquiries about future travel plans. Any data about future plans arefragmented across various applications. A user can also forget what afriend has said about his or her future plans. Plans can change.

Furthermore, some “friends” may be individuals that do not share a closerelationship with the user or they may be old friends or briefacquaintances. A user may be interested in meeting up with such a personthat happens to be or plans to be in the same city, location, or at thesame event. However, the user may be uncomfortable bothering that personwith a direct query about whether they plan to be in a city on a certainfuture day or days.

SUMMARY

In general, one innovative aspect of the subject matter described inthis specification may be embodied in methods that include the actionsof receiving an indication of a first future date from a user of acomputing device, determining that one or more friends of the user in asocial network are associated with one or more future locationsincluding a second future date that matches the first future date,displaying a geographic map on the computing device including a friendrepresentation corresponding to each of the one or more future locationswhere the one or more friend of the user are going to be physicallypresent, the friend representation including a number of friends of theuser that are physically present at the respective future location onthe first future date, receiving, from the user, an indication at one ofthe friend representations, displaying on the computing device, a listincluding at least one of one or more friends associated with the futurelocation corresponding to the friend representation and one or moreevents associated with the future location, wherein the list isdisplayed on top of the geographic map.

Other embodiments of these aspects include corresponding systems,apparatus, and computer-readable medium storing software comprisinginstructions executable by one or more computers which cause thecomputers to perform the actions of the methods.

Further embodiments, features, and advantages, as well as the structureand operation of the various embodiments are described in detail belowwith reference to accompanying drawings.

BRIEF DESCRIPTION OF THE FIGURES

Embodiments are described with reference to the accompanying drawings.In the drawings, like reference numbers may indicate identical orfunctionally similar elements.

FIG. 1 illustrates a system for communicating future locationinformation.

FIG. 2 illustrates a system for communicating future locationinformation.

FIG. 3 illustrates a display view communicating future locationinformation.

FIG. 4 illustrates another display view communicating future locationinformation.

FIG. 5A-5D illustrate display views for selecting a future date.

FIGS. 6-9B illustrate display views of friend location information.

FIGS. 10-12 illustrate display views of trip information.

FIGS. 13-14 illustrate display views of event information.

FIG. 15 illustrates a display view for inviting friends to join.

FIG. 16 illustrates a display view of the search function.

FIGS. 17-18 illustrate display views of trip information.

FIG. 19 illustrates a global display view of future locationinformation.

FIGS. 20-21A illustrate display views of feeds related to trip or eventinformation.

FIGS. 21B-E illustrate example notifications.

FIG. 22 illustrates a flowchart of an example process for communicatingfuture location information.

FIG. 23 illustrates a flowchart of an example process for providing adate selection control.

FIG. 24 illustrates a flowchart of an example process for providing afriendar control.

FIG. 25 illustrates a flowchart of an example process for providing amessage feed.

FIG. 26 illustrates a flowchart of an example process for providingfuture location information.

FIG. 27 illustrates a flowchart illustrating an example process ofactions associated with a circular slider.

FIG. 28 illustrates a flowchart of an example process for sharing futurelocation information.

FIGS. 29A and 29B are flowcharts illustrating an example process forproviding suggestions based on future location information.

FIG. 30 illustrates a flowchart of an example process for graphicaldisplay of future location information.

FIG. 31 illustrates an example user device including a browser.

FIG. 32 illustrates an example display view including user informationand menu items.

FIG. 33 illustrates an example user profile view.

FIG. 34 is a diagram of an example computer device used to implement thesystem.

DETAILED DESCRIPTION

Current applications do not allow users to share their future locationswith their entire friend and professional network all in one place.Currently, in order to know whether a users' friends are planning to bein the same location at the same time, a user must obtain thatinformation from his or her friends by direct communication (e.g., inperson, phone, email, or text), or by viewing fragmented information onvarious applications. A user would then often have to wait for aresponse, collect that information and store it in a singular place suchas a calendar. Only then could the user coherently and visually see ifany of his or her friends had coinciding travel plans (or event plans).

A system will be described that allows friends to share where they willbe in the future so that other friends can plan to join them. A datesometime in the future may be entered or selected using graphic userinterface tools of an application. Geographical locations of friends arethen displayed for the chosen future date. The representations of thesegeographical locations may be displayed on a map, including on ageographical information system (GIS) map. A geographical location mayinclude a city, a section of a city, a suburb of a city, a rural area, avacation destination, a park, a place of a scheduled event or any otherdefinable location. In some cases, city sections or nearby cities andtowns can be associated with a major or larger city, area, or location.These locations may be annotated to show how many friends are eitherlocal or visiting or attending event(s) on the future date(s). Ageographical location name may be altered to convey that the pinrepresents a broader metro area (e.g., Minneapolis-St. Paul), or apopular way of referencing the city (e.g., “SF”). Geographical locationsof events, such as sports, concerts, conferences, and festivals, arealso displayed on the map and associated with both the actual city anevent occurs in, and the nearest major city.

A user may create a named trip for a location on a future date. Friendscan learn of the trip and join it. Information about upcoming eventsthat friends are attending may be displayed or communicated. Friends canjoin an event and plan to meet up at the event. Friends can also suggestthat other friends join the trip or event.

The term “friend,” as used herein, may include authentic friends, familymembers, acquaintances, social connections, professional connections,coworkers, old classmates or colleagues or anyone else that has somerelationship with the user or users. A relationship may exist if therehas been some type of digital invitation, connection, and/or digitalacceptance.

Event and trip profiles can be created for locations on specific futuredates. A trip may be a planned visit or presence at a location on afuture specific date. Trip information can be shared with friends.Friends can view trip information, including locations, events, dateranges and which friends are attending. Users and friends can jointrips. Users and friends can suggest other friends to join trips orsuggest his or her friends become friends with each other. In oneembodiment, the trip information can include a user's home location orhome base. For example, a user can indicate as trip information that heis going to be in his home location on a date or date range.

FIG. 1 is a block diagram 100 of a networked system of devices, perhapsmobile devices such as mobile phones, tablets or computers. The devicesmay be networked over network 102. Network 102 may be any network orcombination of networks that can carry data communications. Such anetwork 102 may include, but is not limited to, a local area network,metropolitan area network, and/or wide area network such as theInternet. Network 102 can support protocols and technology including,but not limited to, World Wide Web (or simply the “Web”), protocols suchas a Hypertext Transfer Protocol (“HTTP”) protocols, and/or services.Intermediate web servers, gateways, or other servers may be providedbetween components of the system shown in FIG. 1, depending upon aparticular application or environment.

A user may operate a user interface on user device 110 to determinefuture location information of friends. In a non-limiting embodiment,these friends may have provided such information on a limited orrestricted basis through their devices 130-134. Future locationinformation may be stored, accessed, distributed or modified using asystem stored on and executed by server 120. Permissions may beconfigured to limit location information for safety reasons. In someaspects, location information may be provided only at the general level,such as only city information.

FIG. 2 illustrates an example system 200 for communicating futurelocation(s). Future location system 200 includes location determiner202, location display manager 204, trip/event manager 206 and permissionmanager 208. System 200 may be implemented on or implemented with one ormore computing devices, such as user device 110.

Location determiner 202 is configured to identify future locationinformation of friends. Identification may involve verifying arelationship between a user and a friend. The relationship may be anactive digital acceptance or recognition as a “friend.” In some cases,actual friends may be identified from a general pool of digital“friends.” For example, these friends can be from other social networks.Location determiner 202 may check for a most recent status of a friend.Most recent future location information may be obtained or verified withother information about the friend. Permissions and privacy settingswill determine what information is identified.

Location determiner 202 determines locations for display. This involvesreceiving a future date and determining geographical locations todisplay based on the future date and friend future location information.A future date may be a day in the future. In some cases, a future datemay be considered the present date but a future time on the presentdate. That future time may be a few hours, a few minutes or even incertain cases, one or more seconds in the future. A future date may bespecific to a day or specific to a week, month or year. Locationdeterminer 202 determines what friends have submitted or made availableinformation for a future date and what the locations of the friends willbe on the date. A future date may also include a future date range,multiple consecutive days, or specific times.

Location display manager 204 is configured to display one or moredetermined geographical locations. Geographical locations may bedisplayed graphically on a map, grid, globe or any three dimensional ormulti-dimensional representations. Geographical locations may bedisplayed in a geographical information system (GIS), which may includecity information, roads, terrain or any other information common to GISmaps. For example, display view 300 shows geographical location New YorkCity, N.Y. among nearby cities, roads and other geographical features onGIS map 302. Location display manager 204 can display locations selectedby the user. For example, if a user selects NYC, NYC and the surroundingarea is displayed.

Location display manager 204 also displays indications orrepresentations of friends at or near a location on a particular futuredate. These indications may be friend representations. In oneembodiment, a friend representation can be a FRIENDPIN™ friendrepresentation. Friend representations are any annotation upon a visualmap that provide friend location information specific to the pinnedlocation. In an aspect, the friend representation can include a numberof friends physically at the location on the future date. The number caninclude a total of the number of friends that live at the location andthe number of friends visiting that location. The number of friendsvisiting that location can also include a number of friends attending anevent at the location. In a non-limiting embodiment, a friendrepresentation can be a number, more than one number, an image or anycombination thereof. In an embodiment, when a friend representation isselected (e.g., mouse click), a list of users visiting or local and/orevents can originate from the selected friend representation. Any otheruser profiles and information may be displayed as well. In anembodiment, if a friend representation includes a number, the number caninclude friends at an event as well (which are included in the visitingor local number), or it can be a total number of events and not people.These examples are purely illustrative and are not intended to limit theembodiments.

In embodiment, two numbers could be provided: friends who call thelocation home and friends visiting the location from another home city.

For example, in display view 300, on Feb. 26, 2012, friendrepresentation 308 indicates there are 12 friends visiting and 15friends that are local and present on that date. On that same date,there is an event on Long Island indicated by friend representation 310with the star on it. There are currently 5 friends scheduled to be atthe event on that day.

In one embodiment, a friend representation can include a profile imagewithin the friend representation or a group of friend representations,each with a friend profile image within each friend representation.

In another embodiment, the friend representation 308 can include asingle number. The single number can include a total of the number offriends visiting the future location and a number of friends that arelocal to that location. If for example, the total number was 10, it maybe the case that 3 friends live at that location, and 7 are visiting thelocation. Any number of the 7 friends visiting the location or 3 friendsthat live at the location may be attending an event (or events) at thelocation and this number of friends is included in the 7 friendsvisiting and 3 friends that live at the future location. For example, if7 are visiting and of those 7, 3 are attending an event, then the 3 isincluded in the 7 visiting. In another embodiment, these two numbers(number of friends attending events versus number of visiting and localfriends) can be distinct so if a friend is at an event at the futurelocation, they are excluded from the visiting list. The visiting listcan be for friends visiting the city but not necessarily associated withan event at the city.

In one embodiment, the friend representation 308 can indicate a totalnumber of events on the date or date range. For example, if the numberon the friend representation 308 said 9, that would mean a total numberof events are associated with that location on a date or within a daterange that includes the future date selected. The number of friends atthe event may be more than 9. For example, if two friends are each ateach event, the total number of friends at the event would be 20, butthe friend representation 308 still indicates 9, which is the totalnumber of events, rather than the total number of people.

In one embodiment, clicking on a friend representation with a singlenumber can expand the friend representation into the same number offriend representations as the number on the original friendrepresentation. The new friend representations can include images ofeach user associated with that friend representation. For example, if afriend representation has the number 3 on it, and a user clicks or tapson the friend representation, that friendship can then be expanded tothree distinct friend representations, each with an image of the friendthat is associated with the located corresponding to the friendrepresentation.

The geographical locations chosen for display may be chosen because ofsize, popularity, frequency of events or trips and other factors.Geographical locations and pins for geographical locations may beselected based on event information that was received. Location displaymanager 204 is configured to display the locations and pins. Locationdeterminer 202 may provide information to location display manager 204.

User device 110 may be coupled to server 120 over network 102. Server120, shown in FIG. 2, includes management system 210, which may be usedto provide accurate information to user device 110 and friend devices130-134. Management system 210 includes GIS mapper 212, locationinformation manager 214 and location sharing manager 216. Server 120 mayalso include location globe repository 220 for globe view information.In a non-limiting embodiment, one or more of location determiner 202,location display manager 204, trip/event manager 206 and permissionmanager 208 may be included in server 120. In another non-limitingembodiment, one or more of GIS mapper 212, location information manager214 and location sharing manager 216 may be implemented in futurelocation system 200. In yet another non-limiting embodiment, one or morecomponents of future location system 200 and management system 210 maybe distributed across a plurality of computing devices using a cloudcomputing infrastructure.

In some implementations, GIS mapper 212 may develop maps for display,taking into consideration the location information. The maps may bedeveloped from map information or geographical information system (GIS)data. The displayed maps and corresponding features may vary in detail.In some cases, nearby cities, major roads, natural landmarks, bodies ofwater, man-made landmarks or other features may be included for context.

Location information manager 214 collects friend future locationinformation submitted by friends on various computing devices. Thesecomputing devices may also have an implementation of future locationsystem 200, which works in coordination with management system 210. Insome cases, future location information may be submitted or obtainedthrough other applications, interfaces or data feeds.

In a non-limiting embodiment, location information manager 214 may pollfor regular updates or request or receive information asynchronously onan as needed basis. For example, location information manager may polllocation globe repository 220 or any other system or database associatedwith network 102. Information for all friends or for only certain groupsof friends may be received. Information may be limited to certainregions. In most cases, all date ranges for friends can be received. Inother cases, only select date ranges will be initially received. Thesedate ranges may be only future dates, a year into the future, a monthinto the future, or other date ranges. A date range determined fordisplay can also include some or all of a location history in order tohelp a user determine who attended a certain event or location lastyear.

In some aspects, systems 200 and 210 can be used to display futurelocations within a city, such as and including, but not limited to, abuilding, a park, a vacation resort, a venue, a museum, places orsmaller levels of detail besides general city information. This mayinclude smaller increments of time, rather than calendar dates.Permission manager 208 may tightly control such specific informationthrough privacy settings and limit the information to specific groups offriends.

Example explore view 300 is shown in FIG. 3. Different future dates areselected by sliding a finger around a circular ribbon 304. The date indate display 306 will change as the finger slides around date display306 on ribbon 304. One direction will go forward in time, while theother direction will go backward in time. For example, a clockwise slideon the ribbon will cause the date in date display 306 to advance to Feb.28, 2012, as partially shown in the transition from display view 300 todisplay view 400.

While a sliding gesture is performed along ribbon 304, friendrepresentations and associated friend location numbers may dynamicallychange to match the dates during the sliding motion. For example, pin408 now reflects only 6 friends visiting and 13 friends local to NewYork City. In another non-limiting example, pin 408 can reflect a numberrepresenting a total of a number of friends visiting a location, localfriends to that location, and friends attending events in that location.Pin 410 shows one friend at the event on or near Long Island.Significant events from news feeds or user search criteria may alsoappear and disappear according to corresponding future dates or rangesof dates. In some cases, dates in the past may be visited for comparisonor historical purposes.

In a non-limiting embodiment, when a sliding gesture is performed alongribbon 304, location determiner 202 utilizes the date selected in datedisplay 306 as a future date. Location determiner 202 determineslocations for display based on the future date and determinesgeographical locations to display based on the future date and friendfuture location information. As noted above, location determiner 202determines what friends have submitted or made available information fora future date and what the locations of the friends will be on the date.A future date may also include a future date range, multiple consecutivedays, or specific times. In an embodiment, as a sliding gesture is beingperformed or date display 306 is being updated, one or more requests forfuture friend locations for the selected dates may be sent to locationdeterminer 210 and/or management system 210. Location display manager204 causes friend representations and associated friend location numbersto dynamically change to match the dates during the sliding motion alongribbon 304 and displays indications of friends at or near a location atthe selected future date.

Map 302, or geographical location representations visible on map 302,may reflect other destinations that can be zoomed in and out based onuser preferences and selections. Different filters or time incrementsmay be chosen. Other visual aids can be used for pins 308 and 310.

Date display 306 may be expanded to a series of concentric date wheelson calendar display 502, as shown in display view 500 of FIG. 5A. Eachring is for selecting a year, a month or a date. Each ring may be slidin different directions. Upon confirmation of the correct date, datedisplay 306 may be pressed. This date selection display is a convenientway to select a future date or date range. This selected date or daterange can be used for further operations by future location system 200as discussed above. Location display manager 204 operates to provideribbon 304 or calendar display 502 for display.

FIG. 5B illustrates an example explore view 510 that enables a user tosee locations of one or more of their friends on the date selected indate display 514. Explore view also illustrates ribbon 516. In anon-limiting embodiment, when a user selects any area of the displayother than the area enclosed by ribbon 516, the area enclosed by ribbon516 transitions to a mini state as shown by circular region 716 in FIG.7B. It is to be appreciated that transitions are not limited tominification and any other transitions may be performed. In anembodiment, such transitions are performed by location display manager204.

Referring to FIG. 5C, and according to one embodiment, when a date indate display 514 is selected, a pop-up or scrolling calendar 524 isdisplayed that enables a user to quickly and conveniently select a datethat the user wishes to view in date display 514. Once the user hascompleted adjusting a date in calendar 524, the “Done” buttonillustrated in FIG. 5C can be selected to set the adjusted date intodate display 514. The “Today” button illustrated in FIG. 5C can be usedto adjust today's or a present date into calendar 524.

Referring to FIG. 5D, while a sliding gesture is performed along ribbon534, friend representations and associated friend location numbers maydynamically change to match the dates during the sliding motion. Ribbon534 can animate to display clockwise or anti-clockwise motion based onthe direction of the sliding gesture or whether a user wants datedisplay 536 to progress backwards or forwards in time. Such animation ofribbon 534 can show momentum with easing. In a non-limiting embodiment,date display 536 also updates during the sliding motion and can beanimated to display a up or down “flip” motion from one date to anotherdate while a sliding gesture is performed along ribbon 534. Friendrepresentations and associated number of friends (e.g., “7”, “12”, “15”,etc.) at respective locations may dynamically change to match the datesduring the sliding motion.

When a sliding gesture is performed along ribbon 534, locationdeterminer 202 utilizes the future date selected in date display 536 asa future date. Location determiner 202 determines locations for displaybased on the future date and determines geographical locations todisplay based on the future date and friend future location information.

FIG. 6 shows example display view 600, which illustrates the expansionof pin 308. Pin 308 may be expanded into two or more concentric rings orshapes based on who is in the geographical location on the future date.These rings display images of friends in small circles or shapes forquick reference. This expanded pin is called a “friendar,” as in a radarscreen of friends. In an embodiment, such displays are generated bylocation display manager 204.

Each ring may be associated with a particular group. For example, theouter ring 602 illustrates the 12 visiting friends with an image 604 foreach of those friends. Names and friend location information aredisplayed with or without images. The inner ring 606 shows some or allof the 15 friends that are local to NYC or have indicated that NYC istheir current home base. If there are a lot of images to display, imagesmay be reduced in size or prioritized for display.

If space is limited, friends may be chosen for display based on apriority level set by the user or any other method. Friends may beselected for display based on past trip information or the likelihoodthat a friend will be contacted. Rather than showing who is in NYC orthe surrounding area, pin 308 or pin 310 may also be expanded to showwho is attending an event.

In another embodiment, when the pin 308 is clicked, a list is displayed.The list represents multiple further lists including the friendsvisiting the location, the friends local to that location, and thefriends attending an event in that location—all during that point oftime in the future. This list may display additional information relatedto the friends or location. In an embodiment, selection or clicking of apin causes information to be sent to location information manager 214.Location information manager 214 may poll location globe repository 220or any other system or database associated with network 102 to retrieveinformation for display in a list. In another embodiment, information tobe displayed in a list (or any other format) may be retrieved from userdevice 110 or any other device.

In display view 700 of FIG. 7A, the images of friends attending an eventare shown in friendar 702. Location display manager 204 may be used todisplay friendar 702, in coordination with location determiner 202.

Friendar 702 can change its shape, the number of concentric rings, howfriends are displayed, or whether friend images are static or live,dynamic images. These changes may be controlled by user gestures on oraround friendar 702. Other display adjustments can be made (e.g., madeby location display manager 204) based on user gestures and friendrepresentation information. In an embodiment, user gestures at friendar702 may cause data to be sent to future location system 200 and/ormanagement system 210 for further operations.

FIG. 7B illustrates example display view 710 after pin 712 has beenselected. In an embodiment, when pin 712 is selected other pins that maybe previously displayed fade out or are hidden from display and a list714 may originate from pin 712. List 714 illustrates, for example,identities of users visiting a location (e.g., New York). Referring, tolist 714, it can be seen that seven individuals are visiting New Yorkand nine friends (hidden from display) are local to New York. In thisway, list 714 may include tabs (e.g., Visiting, Local, etc.) to display,for example, visiting and local friends in their respective tabs. In anembodiment, user interface display operations, such as fading or hidingpins from display, may be performed by location display manager 204.

FIG. 7C illustrates example display view 720 according to an embodimentwhere one or more events (e.g., Coachella) are determined to exist at afuture date at a location (e.g., Philadelphia) and an “Events” tab 724is generated to display these events when the events are determined.

FIG. 7D illustrates example display view 730. In an embodiment,selecting a pin associated with a specific event (e.g., Coachella)reveals identities of one or more friends attending that event. Forexample, referring to display view 730, list 734 reveals identities offriends attending the Coachella event.

FIG. 7E illustrates example display view 740 according to an embodiment.In an embodiment, when a user selects a date, where one or more eventsare associated with the selected date, a notification of the one or moreevents is automatically displayed on a display view. For example, indisplay view 740, a notification 744 of the “Coachella” event and anumber of friends attending the event is displayed on display view 744when Mar. 25, 2012 is selected as a date. March 25 provides aNotification for one Event: Coachella. A notification appears that isthe event that has the most of the users friends that are outside theirhome base for that day (or date range). In this example, the user has 5friends that plan to be at Coachella on this day. If the user had 6friends at a different event on this day, the event that had 6 friendswould appear in the Notification and Coachella would not appear. In oneembodiment, a full list of events the users friends will be at on thatday can be displayed.

Display view 800 of FIG. 8A shows a list view of friend locationinformation at multiple geographical locations on a given future date.Both cities and events may be shown. Friends visiting and friends localto a geographical location or event may be displayed. From the listview, a single city or event can be selected and further informationidentifying the visiting and local friends present in each city orevent. The home base of the current user is displayed. This home basecan be changed when the user plans to spend an extended time or seasonin a city. Trips based on a visit to a city may be easily created fromthe list view.

Display view 810 of FIG. 8B shows a list view of one or more citieswhere a user's friends are located on a given future. For example,selecting the cities tab 814 results in display of one or more citieswhere a user's friends are located on Mar. 25, 2012.

Display view 820 of FIG. 8C shows a list view of events that a user'sfriends may be attending on a given future date. For example, selectingthe events tab 824 results in display of one or more events, which auser's friends may plan to attend on Mar. 25, 2012.

Display view 830 of FIG. 8D, illustrates display of navigation menu 834,when a user selects a home screen (or explore view) icon (e.g., icon 826from FIG. 8C). Navigation menu 834 can enable a user to access one ormore of navigational elements including, but not limited to, “Explore”,“Feed”, “Friends”, “Privacy” and “Account” settings and features.

FIG. 9A shows display view 900. Display view 900 shows locationinformation for friends at a geographical location on a given futuredate. Friend future location information may include dates that a friendwill be in the area. For instance, some friends will be there one daywhile others will be there a week or more. Other information about thefriends may be shown, including additional plans that a friend hasscheduled and wants to share with others. Such information may includeindividual trips and travel information for other cities or events.

FIG. 9B shows display view 910. Display view 910 shows locationinformation for friends at a geographical location on a given futuredate. As noted above, friend future location information may includedates on which a friend will be in the area. For instance, some friendswill be there one day while others will be there a week or more. Otherinformation about the friends may be shown, including additional plansthat a friend has scheduled and wants to share with others. Suchinformation may include individual trips and travel information forother cities or events. Also, referring to display view 910, displayview 910 may be generated when a user selects a location (or city) froma list of cities appearing, for example, in FIG. 8B.

Trip and event manager 206 is configured to enable users to create,maintain and share future trip information. Trip manager 206 maintainstrip information that has been collected or determined for the user. Insome cases, location information manager 214 or location sharing manager216 may also maintain trip and event information for trip manager 206.Trip information may include a location, a date or date range, friendsattending, how long the friends will be there and other informationabout the trip location or an event at the location. In an embodiment,trip and event manager can communicate with one or more components offuture location system 200 and management system 210.

Display view 1000 of FIG. 10 shows a user interface for creating a tripbased on a start date and an end date. A trip name can be created. Auser that creates a trip may edit a trip, as shown by edit button 1102in display view 1100 of FIG. 11. Named trips of friends may be displayedfor a geographical location based on a future date or date range. Theuser may select a trip to join. In an embodiment, user interface displayoperations, such as displaying trip details, may be performed bylocation display manager 204.

As shown in display view 1000, multiple trips may be established for thesame city at the same time by multiple users. Even though there arevarious friends in the same city, they are not necessarily part of thesame event or trip. All of the trips available for view are shown forthe date or date range. A user may wish to join a beach tour rather thana school reunion.

Friends visiting the city are shown with corresponding friend locationinformation. Users may invite friends that are visiting the same city atthe same time to join a trip or event. For example, the user could havecreated the beach tour trip. Friends visiting the area are shown, asillustrated by display view 1100. Invites can be sent to these friendsusing location sharing manager 216.

FIG. 12 shows display view 1200 for a trip created by a friend. The usermay join the trip. For example, button 1202 may be used to join a tripafter viewing friends that will be visiting the same city on thosedates. Friends may be visiting the city but are not necessarily joiningthe trip. Friends not joining the trip and friends joining the trip maybe viewed.

FIG. 13 shows display view 1300. Just as a trip may be created, editedor joined, an event may be created, edited or joined. For example, anevent may be edited using user interface controls such as edit button1302. An event may be joined using button 1402 shown in display view1400 of FIG. 14.

FIG. 15 shows display view 1500. Display view 1500 shows how friends maybe notified by the user and invited to join a trip or event. A phonenumber may be provided. Links to social media 1502, such as a Facebook®link to a personal wall, timeline or page, trip wall, or event wall maybe available. Twitter® content related to the trip may be available forview. Integration data can also be used from Google. In one embodiment,location data from a third party application, such as Foursquare®, canbe used. In a non-limiting embodiment, a user would “allow” athird-party application to learn the user's own and friends locationdata, which enables the system described herein to retrieve such dataand populate system data and displays accordingly. In a non-limitingembodiment, a user would also “allow” a third-party application to learnthe users own and friend's interest and other data, which enables thesystem described herein to retrieve such data and populate system dataand displays accordingly. In an embodiment, a user may choose to join anevent that has been selected to appear for display. As an example, suchan event may be retrieved from third-party application or socialnetwork. When a user indicates that the user wishes to join an event,trip event manager 206 creates a new trip for the user based on theevent.

In an example embodiment, a “follow” button may be provided with respectto the application. The follow button may be related to, including butnot limited to one or more individuals, brands, groups, events, etc(e.g., celebrities, artists, athletes, bands, teams, events, etc.). Forpromotional and marketing purposes, politicians, athletes, entertainers,etc. may provide a certain level of future location information such aswhen an athlete may be playing a team in a certain city or when anentertainer is scheduled to be on tour in a city. If the “follow” buttonis selected, the button will change to display “following” for thecelebrity (or any other) “friend.” If a user happens to be or isplanning to be in the same city on a future date, either throughremaining at home base or on a trip to the city or location, the usermay receive such an indication or location match or alert in a feed,email or other means.

Other features are illustrated for showing how easy it is to communicatea status of future plans. Display view 1600 of FIG. 16 may show howgeographical locations, trips and events may be searched. Big cities inthe area, any named trips and any planned events can be shown in thesame view based on a selection of a location and a date range. Each ofthese results may be grouped by result type. Further results may beexpanded. Results may be filtered, hidden, removed or added.

Display view 1700 of FIG. 17 shows friends currently on a trip as wellas their upcoming trips. For example, friends on a trip may be listed,with trip name information and dates. Upcoming trips may be listed. Theresults view may be listed based on a home base selection of thefriends.

Display view 1800 of FIG. 18 shows further details about future plans ofa friend. Such friend future location information may be very detailedfor a select few or less detailed for a large group. Historicalinformation of past trips may be shown. In some case, only a number oftrips are shown. Display view 1800 shows an example of a number oftrips, which can include only future trips or include all trips past,current and future. Contact information may be provided for easilysending invites to friends or prospective friends as desired. Privacycontrols are used to control who may view such information or whatinformation is received. Permission manager 208 may handle privacy andpermissions settings that are friend, location and/or trip specific.

Such views provide future location status information so it is easier toplan future meetings or gatherings. It also saves friends the hassle ofasking who is going, not receiving responses, asking again, rememberingwhat a friend said or remembering what a friend said about anotherfriend.

Geographical locations, events, pins and friend location information maybe maintained in a map format for each day or time increment into thefuture. Display view 1900 of FIG. 19 shows a globe 1902 with relevantgeographical locations represented on the map. Pins may provide friendlocation information for each location. Globe views may be used incoordination with ribbon control 302.

In one implementation, a calendar can be displayed for a user with oneor more cities in each day block corresponding to future locations ofthe user's friends. If more than one friend is in a future location on agiven day, the block on the calendar can reflect this. For example, theblock can include a city name with a number next to it. The number canrepresent the number of friends physically present in that location.Clicking on the city can expand to a view where you can see a number offriends visiting that location, a number of friends currently living atthat location and a number of events at that location.

GIS mapper 212 may be used to help provide maps and accurategeographical locations and pins. It may obtain updated GIS information.GIS mapper 212 may determine which geographical areas and locations todisplay based on date information, friend future location informationand/or event information.

Location information manager 214 may be used to obtain current friendlocation information from location entries submitted on user device 110and friend devices 130-134. Location information manager 214 may beresponsible for providing updates for location, trip and eventinformation. Location information manager 214 may store locationinformation. In some cases, future location information related tofriends may be stored in secure location globe repository 220. Asdescribed above, location globe repository 220 may be used to provide aglobe 1902 for display, indicating geographical locations, such aslocation 1904, having pins or indications of future presence in thegeographical location.

In an embodiment, main (or major) geographical locations (or “bigcities”) can be established for globe 1902 (or any other geographicalrepresentation). Such establishment may include selecting which citiesare big cities. As a non-limiting example, cities with populations over250,000 may be considered to be big cities. Such establishment may alsoinvolve including surrounding cities or locations that are oftenassociated with a big city, either through public records, onlinerecords, public information, social information or user recommendations.Once big cities are established, users or friends of a user may beassigned to these big cities. In an embodiment, such assignment may beautomatically done by location, address or other information of a userand associated friends.

Location sharing manager 216 may be used to enable a user to sharefuture location information. A user can share information generally. Auser can also share information with specific individuals or groups.Sharing can include posts, email, invites or various methods availablethrough social media. Information specific to a trip or event can beshared.

Implementations of future location system 200 may be provided through amobile application stored in computer-readable media of user device 110and executed by one or more processors on the device. The applicationcan display a user interface that is operated by the user. In someimplementations, management system 210 may provide the functionality offuture location system 200. On other implementations, the functionalityof systems 200 and 210 may be provided through a browser.

FIG. 20 shows display view 2000. Display view 2000 illustrates one ormore messaging feeds specific to the application. Such feeds may becollected and scrolled in one feed. Each feed message may be joined oraccompanied by trip information, such as trip information display 2002.Such information may include how many friends will be present, visitingor attending an event. Comments 2004 may also be provided for eachmessage.

FIG. 21A shows display view 2100. Display view 2100 shows additionalmessages in the feed, including suggestion messages 2102 or eventinformation and graphics 2104. Location sharing manager 216 may be usedto coordinate or filter messages and generate a combined feed.

Suggestion messages 2102 may be used to suggest the user to meet anotheruser that may not be digitally connected to the user through futurelocation system 200. Such a suggestion may be received from a friend ofthe user (e.g., “Gemma Atkinson” in suggestion 2102). Also, in anotherexample, consider that Bob is visiting New York in December. Anotherfriend Chris, based in St. Louis, is visiting New York. Both Bob andChris are separately connected to Leila. In other words, Leila is aconnection between Bob and Chris. However, Bob and Chris do not knoweach other or may not be, for example, connected on one or more socialnetworks. In this scenario, Leila can use future location system 200 tosuggest they meet or suggest they become “Ribbon” friends.

In one embodiment, the feed can be used to foster new friendships. Forexample, suppose Jason Snyder and Linda Thompson are both friends withJames Earl (James Earl is the mutual friend who added a NYC Reunion).Therefore, any of James Earl's friends can comment to this Trip withinthe Feed. Users commenting to James Earl's trip may or may not befriends. Jason Snyder may view Linda's comment and may wish to befriends with Linda and will send a friend request. Further, James cannotice that Linda and Jason are not currently friends and can suggestthey become friends.

Feeds may be searched or filtered based on topics, trips, or othercriteria. Feeds may be gathered based on friends specific to or relatedto geographical locations. Areas surrounding or near to the geographicallocations may be considered. Feeds may be formed based on ongoing orupcoming trips. Feeds may be formed based on groups.

Events may provide reasons for feeds. Each event or set of events maycontribute to a feed. Events can have their own feeds and these feedsmay be joined in the feed scroll of display view 2000.

Location display manager 204 may work with trip and event manager 206 todisplay the feed scroll on user device 110 and friend devices 130-134.In some aspects, the feed may dynamically change based on what futuredates are selected or are being selected.

FIG. 21B-21E illustrate example display views 2110-2140 respectively.Display views 2110-2140 illustrate example friend notifications.

Notification 2112 in display view 2110 notifies a user that one or theuser's friends (“Jessie Jones”) has created a trip to the user's homebase of New York. Jessie Jones may have created a new trip with tripdetails and once the trip is added, the feed of his friends is populatedto include this information. Notification 2112 is sent to the user'sfriends. In this example, notification 2112 is sent to Jessie Jones'friends.

Notification 2122 in display view 2120 provides a notificationconfirming that the user's friend has confirmed that the friend (“JessieJones”) is in a same location as the user at a future date.

Notification 2132 in display view 2130 provides notification that theuser's friend has commented on a trip (“My Trip to New York”) createdpreviously by the user. Notification 2142 in display view 2140 providesnotification that the user's has received a suggestion from the user'sfriend to be a friend with another user (“Tom Barns”). In this way,future location system 200 can provide instant notifications to a userwhenever one or more events occur.

In an embodiment, system 100 may be used as a platform to integrateother social media platforms, applications and tools. Other applicationsor platforms may be allowed access, upon an allowing action by a user,to user-names, future dates and what locations or big cities areassociated with future dates for a user. Targeted products and servicesmay be developed based on future location information and locationsassociated with established big cities. It is to be appreciated that theembodiments discussed herein are not limited to big cities and can beutilized with any other types or categories of cities.

In a non-limiting embodiment, a third party application could have abutton (e.g., a “Ribbon” button) that a user selects to simultaneouslyallow future location system 200 and any other social application, suchas Facebook®, that may have associated friend network information forthe user so that a user can quickly share his or her future locationinformation and develop friend future location information for his orher friends. The third party application can then use such informationto offer products or services corresponding to future locations, eventsand trips.

In this way, by maintaining one future location calendar using thepresently disclosed embodiments, multiple parties and applications canutilize information from the future location calendar to provideopportunities for a user to maximize the user's enjoyment of a futuretrip or event.

FIG. 22 illustrates a flowchart of an example process 2200 for sharingfuture location information. The process may be implemented by futurelocation system 200 or management system 210.

At stage 2210, an indication of a first future date is received. Theindication of the first future date can be received through dateselection controls on a user interface. The first future date may be adate of a planned trip.

At stage 2220, one or more friends of the user, who are directlyconnected to the user in a social network are identified. As an example,future location system 200 may review or parse social network data toidentify direct connections between the user and the one or morefriends.

At stage 2230, for each of the one or more friends, future tripinformation is gathered from the social network. The gathered tripinformation can include respective second future dates and correspondingfuture locations indicating respective physical locations of each of theone or more friends at the respective second future dates. The futuredates can include a date range. As an example, future trip informationcan be based on future trip information submitted by friends on mobiledevices, tablets or laptops. Such information may also have beensubmitted on desktops, set top boxes or other computing devices.

At stage 2240, based on the gathered trip information, it is determinedwhether each of the one or more friends are going to be physicallypresent at the future locations on one of the second future dates thatmatches the first future date. The first future date is distinct fromthe one second future date. The determination may even involverequesting or obtaining information pertaining to future locations forthose identified as “friends” of the user. This determination mayinvolve analyzing or matching identified friend future locationinformation based on a future date. The group matched or filtered may belimited to a targeted date range surrounding the future date. Friendlocations may be determined for display. Event information may also beused to determine friend locations to display. For example, friendlocations in or near an event on a future date, such as a festival,conference or concert, may be considered in determining friendlocations. Stage 2240 can be performed by location determiner 202. Inmost cases, friend future location information may be stored at userdevice 110 or at any other network location. It may be cached or storedin a simple form such as in an array. Periodic or asynchronous updatesmay be performed. Location information manager 214 may assist thesestages.

At stage 2250, a geographic map is displayed on the user interfaceincluding displaying a friend representation corresponding to each ofthe respective future locations where one or more friends are going tobe physically present on the first future date. The friendrepresentations corresponding to each of the respective future locationsare displayed based on the determining. As a non-limiting example, afriend representation is displayed on or pointing to each of one or moregeographical location representations. Friend representations indicatefriend location information. This information may include how manyfriends are local and how many friends are visiting on the date orwithin a date range that includes the first future date. It may alsoindicate how many friends are attending an event at the location orjoining a shared trip to the location. In some cases, a geographic mapmay be displayed in an explore view, such as explore view 300. Locationdeterminer 202 may only identify information for friends at geographicallocations within the map of display view 300. There may be a greatamount of information associated with a friend and, in a non-limitingexample, location determiner 202 may only identify the information thatis relevant to future locations. Friends not having information relatedto the geographical area may be filtered out or not selected. Anappropriate, geographic map can be selected by location determiner 202based on friend locations on the future date. Future event informationmay be considered when selecting locations to display or how much of asurrounding geographical area to display.

At stage 2260, the friend representations are respectively dynamicallyupdated on the geographic map based on a third future date received,where the friend representations are displayed corresponding to futurelocations indicating respective future locations where the one or morefriends are physically present at the third future date. In this way,for example, as the future date changes, friend representations andcorresponding information will dynamically change to be accurate foreach date that is selected.

FIG. 23 illustrates a flowchart illustrating an example process 2300 foroperating ribbon 304. For example, ribbon 304 is used to explore futurelocation information. The process may be implemented by with futurelocation system 200 and/or management system 210.

At stage 2310, a first slide position on a timeline circle is received.The timeline circle may surround a date display, such as ribbon 304around date display 306. The slide position may indicate a first date.

At stage 2320, geographical location representations, such as majorcities, are displayed. Information associated with the location andfirst future date may be displayed.

At stage 2330, a user may slide from the first position to a secondposition. There may be one or more dates between the first date and asecond date indicated by the second position. For example, display view300 shows Feb. 26, 2012 while display view 400 shows February 28. Theuser, in sliding from February 26 to February 28, will pass February 27.Any geographical location representations associated with February 27will be displayed, along with any friend location information, pins,event or trip information for that date. It will be displayed onlybriefly en route to February 28. However, this may provide enough of aglance for the user to make a decision based on the future dates.

When arriving at the second slide position, for instance February 28,geographical location representations and corresponding information willbe displayed until the user slides to a different position or navigatesaway from the display. This is shown by stage 2340. Stages 2310-2340 maybe performed with future location system 200. Management system 210 mayalso provide assistance in some implementations.

FIG. 24 illustrates a flowchart of an example process 2400 for enablinga user to operate friendar 602/606 or friendar 702. The process may beimplemented by with future location system 200 and/or management system210.

At stage 2410, a friend representation is selected. An example friendrepresentation is shown as pin 308 in display view 300. At stage 2420,the pin is expanded into one or more concentric circles with imagesand/or friend information. Display view 600 illustrates this expansion.At least two concentric rings appear. The concentric rings indicatefriends visiting the location on the future date and friends thatconsider the location home. These displays take place at stages 2420 and2430. Display view 700 shows images and information about friendsattending an event or trip associated with the pinned location. Stages2410-2430 may be performed with future location system 200. Managementsystem 210 provides assistance in some implementations.

FIG. 25 illustrates a flowchart illustrating an example process 2500 forproviding a message feed for an event or trip. The process may beimplemented by with future location system 200 and/or management system210.

At stage 2510, a first message related to a trip or event is received.The message may be sent from a friend. The friend may be associated withthe trip or event. The user or the friend may have created the trip orpointed out an event. Others may have joined.

At stage 2520, a second message is received, either from the same friendor from another friend. It is also related to the trip or event. Atstage 2530, the first and second messages are filtered and/or combinedinto a feed view specific to the trip or event. That is, only friendswho have joined or can join the trip or event can view the feed.Comments and graphics associated with a trip or event can be insertedinto the feed. Stages 2510-2530 may be performed with future locationsystem 200.

Management system 210 provides assistance in some implementations. Insome cases, location sharing manager 216 collects and filters feedinformation into one feed scroll. The single feed scroll is thenprovided to user device 110 and friend devices 130-134 simultaneously.Each scroll may be adjusted or customized based on which user or friendis associated with a device. For example, friends attending an eventwill receive more event posts. Others invited to an event may receivepromotional event material.

FIG. 26 illustrates a flowchart of an example process 2600 for providingfuture location information. The process may be implemented by withfuture location system 200 and/or management system 210.

At stage 2610, future location information is received from applicationusers. The users are signed up for or associated with an application forsharing future location information. The application may be administeredby management system 210 and coordinate with future location system 200on individual devices. Users provide a home base location and any tripsaway from home.

At stage 2620, a data globe of future location information is generated.The globe corresponds to a GIS map and records the offered futurelocations of users on specific dates in the future. This information canbe used to generate displays of geographical location representations,either in a city view (display view 300) or in a globe view (displayview 1900), on computing devices 110 of the user or devices 103-134 ofhis or her friends.

At stage 2630, a request for future location information is receivedfrom a device of a user. The future location information that isrequested may be information specific to certain users selected by theuser. The information may also be specific to a future date range.

At stage 2640, future location information of the selected users isprovided to the user device in response to the request. Future locationinformation is provided only for users considered to be friends of therequesting user. Also, privacy settings may exclude non-friends orspecified friends. Management system 210 manages the information thatcan be provided to each user. Management system 210 coordinates withpermission manager 208. System 210 can also provide the functionality ofpermission manager 208.

In some cases, a friend future location map be can be generated at userdevice 110 by system 200. The globe may be generated based on receivedinformation in real time. This may be applicable for cases where theglobe is customized to a user or friend so that only relevant orselected data is shown in a map.

FIG. 27 illustrates a flowchart illustrating an example process 2700 ofactions associated with a circular slider. The process can beimplemented by future location system 200 and/or management system 210.

At stage 2710, a circular slider is displayed on a mobile device. Thecircular slider can include a round shape display and an outer portionthat a user can use a touch gesture to rotate to the right or to theleft. In one implementation, any portion of the circular slider can betouched and rotated to the left or the right. The circular slider candisplay a current date. For example, the circular slider can displayAug. 2, 2012 if it is the current date, or any abbreviation of thecurrent date.

At stage 2720, a geographic map can be displayed relative to thecircular slider on the mobile device. For example, the geographic mapmay be displayed behind the circular slider, or the circular slider maybe displayed on a portion of the geographic map. In one implementation,the circular slider and the map can be displayed simultaneously on themobile device.

At stage 2730, a touch gesture indicating a circular motion is receivedfrom a user of the mobile device, at a location on the circular slider.The user can touch any part of the circular slider and move his fingerin a circular motion on the circular slider.

At stage 2740, in response to the touch gesture indication of thecircular motion being received, current date on the circular slider ischanged to a future date for each predetermined amount of circularmotion received. The displayed circular slider shows the current datechange to the future date as the user is performing the circular motion.

Moving the circular slider in a clockwise motion moves the current dateto a future date. Moving the circular slider in a counterclockwisemotion moves the current date to a previous date. A predetermined amountof movement can be determined to increase or decrease the date by oneday. For example, a 1 cm circular clockwise motion can be correlated tomoving the current date to one day in the future.

At stage 2750, in response to the touch gesture indication of thecircular motion being received a geographic map is displayed on themobile device. A representation corresponding to each of one or morefuture locations indicating that one or more friends of the user aregoing to be physically present at on the respective future locationlocated on the future date is also displayed on the map. Therepresentation, or friend representation, may be a pushpin image or anyother image.

The representation can show a number of friends that live or considerhome base at that location on the future date, a number of friends thatare visiting the future location on the future date, or a number ofevents that are occurring at the future location on the map on thefuture date including the number of friends and related friendinformation for those attending such events. In one embodiment, therepresentation or friend representation can include a sum total of allthree of these.

To determine the number to display on the representation, tripinformation as well as location information for one or more friends canbe analyzed. The trip information can indicate a date or a date rangethat each friend is going to be physically present at the respectivelocation. The future date on the circular slider can be received andcompared against the date or date ranges associated with the tripinformation to determine which friends will be at the respectivelocation corresponding to the representation on the future date selectedon the circular slider. As long as one date of the trip informationoverlaps with the future date, the friend is associated with thatlocation on the date of overlap.

In an embodiment, the representation or friend representation mayinclude an image of a person (or friend) that is associated with alocation corresponding to the friend representation and presented by thefriend representation. In an embodiment, the image included in thefriend representation may dynamically update based on the location ofthe friend representation relative to a geographic map or based on anyother parameter. In an embodiment, the friend representation may be anyother representation or marker that includes a dynamic content areasurrounded by a static border. The dynamic content area may include, forexample, an image of a person (or friend) that is associated with alocation represented by the marker. In an embodiment, when a userselects a friend representation that may display the image of a friend,future location system 200 provides a display of the friends profilewith future location system 200 and may also display profiles of thefriend at other third party social networks. Contact details of thefriend can also be displayed along with any other information orparameter that may be associated with the friend.

The user and the one or more friends can be associated with a socialnetwork. The display of the circular slider displaying the future daterelative to the map is maintained when the respective representation ofthe one or more future locations is displayed.

In one embodiment, the representation can dynamically change to indicaterespective future locations on the map at which one or more friends willbe physically present, for each touch gesture indication of the circularmotion being received from the circular slider. Therefore each time thecircular slider is moved clockwise or counterclockwise, therepresentations or friend representations can change on the map toindicate the locations at which users will be physically present. A usercontinuously using a touch gesture to move the circular slider to theright thereby increasing the date from the current date will see as theslider shows a new date, the corresponding locations on the map at whichhis friends will be physically present.

In one embodiment, on the web, a user can engage with time by moving aslider (or horizontal or vertical or other ruler or linear design). Theslider can be moved forward or backward, or up or down, to move timeforward and/or backwards.

In one embodiment, an indication of a selection of a representation of arespective future location can be received. Fore example, a user canselect one of the representations, for example one of the friendrepresentations or pushpins on the map. In response to receiving theindication of the selection, a list can be displayed. The list cancorrespond to the representation. The list can show the one or morefriends that live at location on the future date, one or more friendsthat are visiting the location on the future date, or one or more eventsoccurring at the location on the future date.

FIG. 28 illustrates a flowchart of an example process 2800 for sharingfuture location information. The process can be implemented by futurelocation system 200 and/or management system 210.

At stage 2810, trip information associated with one or more future tripsof one or more friends of a user are gathered. The one or more friendsof the user can be directly connected to the user in a social network.The trip information can include a future location where a friend isgoing to be physically present as well as a future date or date rangewhere the friend is going to be physically present.

In one implementation, each friend can provide the trip information. Forexample, each friend can create a new trip and indicate the location anddates associated with that trip. In another implementation, the tripinformation can be gathered from the friend's emails or other socialnetworks.

At stage 2820, a dynamic feed is displayed on a computing device. Thedynamic feed can include a list of all the trips of the friends of theuser. The feed can include the trips in chronological order, with themost recent trip at the top.

At stage 2830, a selection of a trip of the one or more future trips isreceived. The user can select one of the trips that his friend hascreated. In one implementation, the user can indicate to join theselected trip. Upon receipt of the indication, the list including theone or more friends that are associated with the selected trip isupdated to also include the user.

At stage 2840, identities of the one or more friends that are associatedwith the selected trip are displayed. The identities can include namesof the friends. In one implementation, an indication can be presentednext to each identify of the friends that displays whether or not theuser is connected to that person in a social network.

At stage 2850, a determination is made that one of the one or morefriends created a new trip with new trip information. For example, oneof the user's friends may have just indicated that they are going to beattending an event in another city.

At stage 2860, in response to the determination, the feed is dynamicallyupdated on the computing device to include an indication of the newtrip. Once the friend indicates this by either creating a new trip or byjoining an existing trip the current' user's feed is updated to includethis information.

In one implementation, when a user has indicated where he will bephysically present on future dates. For example, by creating a number oftrips, his physical presence in the future is known. When tripinformation is received from one of the friends of the user, and it isdetermined that at least one of the dates of the friend's trip is thesame as one of the dates of the current user's new trip, a locationmatch is identified and a notification(s) is sent to the user lettingthe user know that his friend is also going to be in the same city orlocation or event as the user on the future date.

FIGS. 29A and 29B are flowcharts of an example process 2900 forproviding suggestions based on future location information. FIG. 29B isa continuation of process 2900 beginning in FIG. 29A. Process 2900 canbe implemented by future location system 200 and/or management system210.

At stage 2910, future location information of one or more friends of auser is gathered. The future location information includes a respectivefirst future date and a respective future location where the respectivefriend is going to be physically located on the respective first futuredate. As an example, the future location information may be gatheredbased on future trip information. Future trip information may beretrieved from one or more social networks. Future location informationmay also be directly provided by respective friends.

At stage 2920, an indication of a second future date is received from acomputing device. As an example, and with reference to FIG. 4, differentfuture dates are selected by sliding a finger around a circular ribbon304. The date in date display 306 will change as the finger slidesaround date display 306 on ribbon 304. One direction will go forward intime, while the other direction will go backward in time. For example, aclockwise slide on the ribbon will cause the date in date display 306 toadvance to Feb. 28, 2012, as partially shown in the transition fromdisplay view 300 to display view 400. In a non-limiting embodiment, whena sliding gesture is performed along ribbon 304, location determiner 202utilizes the date selected in date display 306 as a future date.Location determiner 202 determines locations for display based on thefuture date and determines geographical locations to display based onthe future date and friend future location information.

At stage 2930, future locations that are associated with a first futuredate that matches the second future date are displayed on the computingdevice. As an example, a representation corresponding to each of one ormore future locations indicating that one or more friends of the userare going to be physically present at on the respective future locationlocated on the future date is also displayed on the map. Therepresentation may be a pushpin image or any other image. Therepresentation can show a number of friends that live at location on thefuture date, a number of friends that are visiting the future locationon the future date, or a number of events that are occurring at thefuture location on the map on the future date. In one embodiment therepresentation or friend representation can include a sum total of allthree of these.

At stage 2940, a selection of one of the future locations displayed isreceived, at the computing device from the user. For example, a user mayprovide a touch gesture to select one or more displayed future locationson the computing device. In another embodiment, a mouse click can beused to select one of the future locations.

At stage 2950, one or more friends of the user associated with theselected future location are displayed. The friends can be displayed ina list.

At stage 2960, it is determined that a digital connection does not existbetween the first friend and the second friend in a social network. Thedigital connections of each friend can be checked to determine if thetwo friends are connected.

At stage 2970, an indication on the computing device is provided showingthat the digital connection does not exist between the first friend andthe second friend in the social network. The list displayed may includean indication of the friends within the list that are already friendswith each other. The list may also include an indication of the friendswithin the list that are not friends with each other.

At stage 2980, an indication is received from the user to initiatecontact between the first friend and the second friend. The user canindicate that he wants the two friends to meet or to become friends.

At stage 2990, a first notification is provided to a computing device ofthe first friend and a computing device of the second friend indicatingthat the user has suggested that the first user and the second user meetat the selected future location. The first notification can indicatethat the user, the mutual friend between the two users, has indicatedthat the first friend and the second friend should meet at the futurelocation that is shared between them. The notification can also indicatein one embodiment that the first friend and the second friend shouldbecome friends in the social network.

FIG. 30 illustrates a flowchart of an example process 3000 for graphicaldisplay of future location information. Process 3000 can be implementedby future location system 200 and/or management system 210.

At stage 3010, an indication of a first future date is received from auser of a computing device. The user can input a future date into adisplay area on the computing device. In another embodiment, the usercan use a timeline reel as descried above to select a future date. Inanother embodiment, on the web, a user can engage with time by moving aslider (or horizontal or vertical or other ruler or linear design). Theslider can be moved forward or backward, or up or down, to move timeforward and/or backwards.

At stage 3020, one or more friends of the user in a social network aredetermined that are associated with one or more future locationsincluding a second future date that matches the first future date. Asocial network associated with the user can be identified and friends ofthe user in the social network can be identified. A determination can bemade as to which of these friends are going to be physically present atthe future location on a future date or date range.

At stage 3030, a geographic map is displayed on the computing deviceincluding a friend representation corresponding to each of the one ormore future locations where the one or more friend of the user are goingto be physically present. The friend representation can include a numberof friends of the user that are physically present at the respectivefuture location on the first future date. In one implementation, thefriend representation can include an image of a friend, or an imagecorresponding to multiple friends that are physically present at therespective future location.

At stage 3040, an indication at one of the friend representations isreceived from the user. The user can select the friend representation bytouching or selecting the friend representation, or by clicking on itwith a mouse click.

At stage 3050, a list including at least one of one or more friendsassociated with the future location associated with the friendrepresentation and one or more events associated with the futurelocation is displayed on the computing device. When a user touches orclicks on the friend representation, the list can be displayed. The listcan include a number of friends that are local or live at the futurelocation, a number of friends visiting the future location, or a numberof events occurring at the future location. The list can be split up soeach group is displayed in its own column. The list can be displayed ontop of the geographic map.

In one embodiment, the number on the friend representation can include atotal number of friends associated with the corresponding futurelocation. In one embodiment, the number can be a sum of the number offriends local and the number of friends visiting the location. Forexample if the representation shows “10” it can indicate that “5” peoplelive at the location and “5” are visiting. The number can be inclusiveof the number of friends attending an event. For example, if “3” of the“10” people are attending the event, and “2” of the “3” are visiting theevent from another city, the number on the representation still displays“10.” In one embodiment, clicking on the representation displaying thenumber will expand the display area relative to the representation andshow a breakdown of the total number. For example, clicking on therepresentation displaying “10” will then show a breakdown of “5” friendslocal and “5” friends visiting the future location associated with therepresentation clicked on. This breakdown or total number representedwithin the representation can also include a number of events that areassociated with the location.

In one embodiment, the list can display a list of names of friends ofthe user that are local to the future location in the dynamic contentarea associated with the one friend representation, a list of names offriends of the user that are visiting the future location in the dynamiccontent area associated with the one friend representation, and/or alist of names of events at the future location that one or more friendsare attending corresponding to the future location in the dynamiccontent area associated with the one friend representation. Each listcan be displayed in its own column or its own tap in the dynamic displayarea.

In one embodiment, clicking on a name in one of the lists displays aprofile associated with the user. The profile can indicate specificsregarding the user for example, where they live, their future trips anddates associated with each future trip.

In one embodiment, clicking on the name of an event will display anevent profile. The event profile can include a date or dates associatedwith the event as well as one or more people attending the event. If oneof the people attending is a friend of the user, an indication can bedisplayed relative to each friend that indicates that the particularfriend is a friend of the user.

In an embodiment, the functionality of future location system 200 and/ormanagement system 210 may be provided through a browser on computingdevices, such as user device 110. Management system 210 on server 120may host the service and serve it to device 110 and any other computingdevices. Any combination of implementations may provide, through abrowser, the functionality represented by the example implementations ofsystems 200 and 210 shown in FIG. 2 and in the display views andflowcharts of FIGS. 3-33. Any stages shown in flowcharts 2200-2600 thatinvolve displaying content may be considered to provide the content fordisplay in a browser.

For example, FIG. 31 shows user device 110 executing browser 3102.Browser 3102 may be any commonly used browser, including anymulti-threaded or multi-process browser. In an embodiment, thefunctionality of future location system 200 can be provided throughbrowser 3102. Future dates are received or displayed in browser 3102.Friend future location information is shown using geographicalrepresentations through browser 3102.

For example, FIG. 32 shows display view 3200. User information and menuitems are displayed, as shown in menu bar 3202. A future date or daterange is selected using any user interface tool for date selection, suchas date slider 3204. Geographical representations of locations are shownin display view 3200. Pins with future friend location information, suchas pin 3206, are shown at geographical representations. This informationmay be used to create or join a trip as described earlier.

In another implementation, the current location of the user is shown inbox 3208 on the map. This may include a map of a geographical locationof the user on the selected date. A pin may be shown, with or withoutfuture friend location information. Box 3208 may enable a user to findhimself or herself on a particular date. This allows a user to explorefuture locations of friends while simultaneously showing the futurelocation calendar of the user.

Browser view 3200 may show other information, such as feed information,friend information, future trip information and any other informationillustrated in display views 300-2100. Menu bar 3202 may be used to showthis information. Other menu or tool bars may be added to show thisinformation. Trips may be searched, created, modified and joined.

FIG. 33 illustrates a user profile view 3300. This view collects varioustypes of information such as feed view 3308, friend trip view 3310 andpast trip view 3312. A future location calendar may be shown. Forexample, future location carousel 3302 shows future dates or futuretrips for the user. Each trip is described and a little map 3304 of thecorresponding geographical location may be shown for each trip or daterange. The maps 3304 of carousel 3302 may also show friendrepresentations in appropriate geographical locations with real timefriend future location information. Any updates to the information maybe illustrated in carousel 3302.

The functionality of any of the components or flowcharts shown in FIGS.1-33 may be provided through a browser executed on device 110, server120 or any other computing device. The web pages or application providedthrough the browser may be served from server 120, device 110, or anyother computing device. Different windows or views may be shown throughbrowser 3102. Different permissions or filters may be established basedon the identity or roles of the individual logging into a website view.

Implementations of the system provide a way for friends to communicate afuture location status. Friends can plan trips and know where friendswill be. Instead of having to call, email or text multiple friends abouttheir future plans on a regular basis, friends can check the futurelocation information of their friends and plan accordingly. Discussionscan ensue based on proposed or planned attendance of a future trip orevent.

In an embodiment, future location system 200 or server 120 utilizes alocation based methodology (or algorithm) that organizes people andlocations into areas whereby people can “reasonably” visit each otherwhile in that same location. Extensive factors are included within analgorithm determining location groups, including, but not limited to,various weightings of population, geographical data such asmetropolitan, rural, and city data; transportation infrastructure,community data, education data, social data, commerce data, airportpresence, and political data. Such geographical location groupings maybe known as “Big Cities.” In an embodiment, future location system 200creates such groupings of location commensurate with how future locationsystem 200 groups people and friends.

As discussed above, future location system 200 enables people to sharewhere they are going or plan to be in the future. Users can see wheretheir friends are going, and users need not be present where theirfriends are located. For example, a user can see from a display offuture location system 200 that the user's friend is New York. Basedupon this knowledge, the user can suggest another friend of the user tothe friend located in New York. The users friend in New York can then be“Ribbon” friends. As discussed herein, Ribbon users may refer to userswho have signed up to use future location system 200 or have a useraccount with future location system 100. Similarly, Ribbon friends referto Ribbon users who may be digitally connected to each other usingfuture location system 200.

In an embodiment, future location system 200 enables users to block theability to view a their future location on a case by case basis (e.g.,friend by friend basis; or person to person basis). Furthermore, futurelocation system 200 enables a user to block friends ability to see theuser's future locations before those friends become socially connectedto the user though future location system 200 (or become Ribbon users or“Ribbon Friends”. In other words, for example, a user can preemptprivacy by “blocking” other individuals immediately once the otherindividuals become Ribbon users. Furthermore, because a user signinginto future location system 200 may usually sign up through third partysites such as Facebook®, future location system 200 can review theuser's entire friend network on Facebook® and will organize all of thesefriends into respective locations on a user interface associated withfuture location system 200 based at least on locations of those friends.The user can preempt privacy by using the user interface to block, whichfriends the user wants to block. When those blocked friends eventuallybecome Ribbon users, they are automatically blocked from seeing theusers future locations because they have previously been blocked.

In an embodiment, future location system 200 may enable a user to denoteor mark their location as a “big city.” As discussed above, and in anon-limiting embodiment, various weightings of population, geographicaldata such as metropolitan, rural, and city data; transportationinfrastructure, community data, education data, social data, commercedata, airport presence, and political data may be used to creategeographical location groupings known as “big cities.” In this way, bysharing their location as a big city, users need not share a morespecific location such as a county, event or even address with otherusers. This improves user privacy.

In an embodiment, a “Follow” button can be created that retrieveslocation and future date information using future location system 200,when the Follow button is selected. Selection of the Follow buttonenables a user to better follow friends, artists, celebrities,politicians, brands, events, etc. For example, a celebrity may have apublic “Ribbon page” that includes a Follow button. When a user selectsthe Follow button on the page, future location system 200 providesfuture connection information based on location connection matches inthe future. By way of example, if a user is “Following” the Metallicapage on Ribbon (e.g., at www.Ribbon.Me/Metallica), when that user andMetallica will both be in the same location (or big city) during thesame date(s) or during dates that are reasonably distant from eachother, the user will be notified (e.g., via Ribbon emails, the RibbonFeed, etc) of such location match, near match, and interest.

System 100 including future location system 200 can act as a platformconnecting people, brands, services, events, etc in both. time andplace. Furthermore, third party applications, including, but not limitedto, Groupon, Living Social, Kayak, Expedia, and others would be able todeliver their users deals, services, and information with knowledge ofwhere their users, fans, and followers would be in the future based oninformation provided by future location system 200.

In an embodiment, future location system 200 and/or management system210 can parse emails and other user communication upon user approval toscrape information relating to location, events, etc from usercommunication. In this way, future location system 200 can furthersuggest location matches, event matches, and other relevant action tousers. In an embodiment, future location system 200 can be configuredfor integration with web or network crawlers. Future location system 200can also be configured to scrape where a user is travelling and adate(s) on which the user is traveling. Future location system 200 mayalso be integrated with third party applications, including, but notlimited to, Foursquare. Furthermore, future travel plans that aredetermined from scraping of a user content's (upon user approval) may beused to provide suggestions to the user to update their event and travelplans using future location system 200.

In one embodiment, user email or other communications is parsed forlocation data of where they will be or might be in the future. This caninclude alerting them to action such information such as suggesting theyupdate their location within the Ribbon application accordingly.

In another embodiment, user email or communications is parsed for friendlocation data (where their friends may or will be in the future) andusing this information to suggest to the user or their friends to updatetheir Ribbon or other information.

In another embodiment, user communication can be parsed for informationthat is non-location information such as interests, etc. and suggestingthe user or their friends update their Ribbon or other informationaccordingly.

In an embodiment, future location system 200 also enables simultaneousauthorization at two or more sites. For example, when a user clicks on a“Ribbon” button in a third party application, future location system 200may allow authorization (or an allow) with both future location system200 (e.g., Ribbon application) and also with a third party application(e.g., Facebook), so that that at least two allow or authorizing actionsoccur with one click of the button. This greatly improves userexperience.

System 200 may be software, firmware, or hardware or any combinationthereof in a computing device. A computing device can be any type ofcomputing device having one or more processors. For example, a computingdevice can be a computer, server, workstation, mobile device (e.g., amobile phone, personal digital assistant, navigation device, tablet,laptop, or any other user carried device), game console, set-top box,kiosk, embedded system or other device having at least one processor andmemory. A computing device may include a communication port or I/Odevice for communicating over wired or wireless communication link(s).

Computing devices such as a monitor, all-in-one computer, smart phone,tablet computer, remote control, etc., may include a touch screendisplay that accepts user input via touching operations performed by auser's fingers or other instrument. For example purposes, a touch sensorgrid may overlay the display area. The touch sensor grid contains manytouch sensitive areas or cells that may be used to locate the areaclosest to the input of a user's touch.

Example touch operations using a touch screen display may include (butare not limited to) pinching, finger (or other stylus or object)touches, finger releases, and finger slides. Finger slides may becircular or any other shape, direction or pattern. The touch screendisplay may include a screen or monitor that may render text and/orimages.

FIG. 34 is an example computer system 3400 in which embodiments of thepresent invention, or portions thereof, may be implemented ascomputer-readable code. For example, the components of systems 200 and210 may be implemented in one or more computer systems 3400 usinghardware, software implemented with hardware, firmware, tangiblecomputer-readable media having instructions stored thereon, or acombination thereof and may be implemented in one or more computersystems or other processing systems. Components in FIGS. 1-33 may beembodied in any combination of hardware and software.

Computing devices, such as devices 110 and 130-134 or server 120, mayinclude one or more processors 3402, one or more non-volatile storagemediums 3404, one or more memory devices 3406, a communicationinfrastructure 3408, a display screen 3410 and a communication interface3412.

Processors 3402 may include any conventional or special purposeprocessor, including, but not limited to, digital signal processor(DSP), field programmable gate array (FPGA), application specificintegrated circuit (ASIC), and multi-core processors.

GPU 3414 is a specialized processor that executes instructions andprograms, selected for complex graphics and mathematical operations, inparallel.

Non-volatile storage 3404 may include one or more of a hard disk drive,flash memory, and like devices that may store computer programinstructions and data on computer-readable media. One or more ofnon-volatile storage device 3404 may be a removable storage device.

Memory devices 3406 may include one or more volatile memory devices suchas but not limited to, random access memory. Communicationinfrastructure 3408 may include one or more device interconnection busessuch as Ethernet, Peripheral Component Interconnect (PCI), and the like.

Typically, computer instructions are executed using one or moreprocessors 3402 and can be stored in non-volatile storage medium 3404 ormemory devices 3406.

Display screen 3410 allows results of the computer operations to bedisplayed to a user or an application developer.

Communication interface 3412 allows software and data to be transferredbetween computer system 3400 and external devices. Communicationinterface 3412 may include a modem, a network interface (such as anEthernet card), a communications port, a PCMCIA slot and card, or thelike. Software and data transferred via communication interface 3412 maybe in the form of signals, which may be electronic, electromagnetic,optical, or other signals capable of being received by communicationinterface 3412. These signals may be provided to communication interface3412 via a communications path. The communications path carries signalsand may be implemented using wire or cable, fiber optics, a phone line,a cellular phone link, an RF link or other communications channels.

Embodiments also may be directed to computer program products comprisingsoftware stored on any computer-useable medium. Such software, whenexecuted in one or more data processing device, causes a data processingdevice(s) to operate as described herein.

Embodiments of the invention employ any computer-useable or readablemedium. Examples of computer-useable mediums include, but are notlimited to, primary storage devices (e.g., any type of random accessmemory), secondary storage devices (e.g., hard drives, floppy disks, CDROMS, ZIP disks, tapes, magnetic storage devices, and optical storagedevices, MEMS, nanotechnological storage device, etc.).

The foregoing description of the specific embodiments will so fullyreveal the general nature of the invention that others can, by applyingknowledge within the skill of the art, readily modify and/or adapt forvarious applications such specific embodiments, without undueexperimentation, without departing from the general concept of thepresent invention. Therefore, such adaptations and modifications areintended to be within the meaning and range of equivalents of thedisclosed embodiments, based on the teaching and guidance presentedherein.

The breadth and scope of the present invention should not be limited byany of the above-described exemplary embodiments or any actual softwarecode with the specialized control of hardware to implement suchembodiments, but should be defined only in accordance with the followingclaims and their equivalents.

1-20. (canceled)
 21. A computer-implemented method comprising:receiving, from a computing device, an indication of a first future hatefrom a user, wherein the first future date is a date later than acurrent date; identifying one or more friends of the user that are goingto be physically present at one or more respective future locations onthe first future date; and displaying, on a geographic map on thecomputing device, a friend representation corresponding to each of theone or more future locations where the one or more friends of the userare going to be physically present, wherein each friend representationis displayed on the geographic map relative to the future location itcorresponds to, wherein each friend representation is a marker thatincludes a dynamic content area surrounded by a static border,
 22. Themethod of claim 21, further comprising: receiving, from the user, anindication at one of the friend representations.
 23. The method of claim22, further comprising: displaying on the computing device, a listincluding at least one of one or more friends associated with the futurelocation corresponding to the friend representation and one or moreevents associated with the future location, wherein the list isdisplayed on top of the geographic map.
 24. The method of claim 22,further comprising: displaying at least one of a number of friends ofthe user that are local to the future location in the dynamic contentarea associated with the one friend representation, a number of friendsof the user that are visiting the future location in the dynamic contentarea associated with the one friend representation, or a number ofevents at the future location that one or more friends are attendingcorresponding to the future location in the dynamic content areaassociated with the one friend representation.
 25. The method of claim22, further comprising: displaying at least one of a list of names offriends of the user that are local to the future location in the dynamiccontent area associated with the one friend representation, a list ofnames of friends of the user that are visiting the future location inthe dynamic content area associated with the one friend representation,or a list of names of events at the future location that one or morefriends are attending corresponding to the future location in thedynamic content area associated with the one friend representation. 26.The method of claim 21, wherein each friend representation includes anumber displayed on the friend representation in the dynamic contentarea, and wherein the number indicates the number of friends of the userthat are physically present at the respective future location on thefirst future date, wherein a friend is physically present if the friendis local to the respective future location or is visiting the respectivefuture location.
 27. The method of claim 21, wherein the first futuredate and the second future date are each a date range.
 28. The method ofclaim 21, further comprising: selecting one or more of the futurelocations that are associated with a second future date that matches thefirst future date.
 29. A system comprising: one or more computers andone or more storage devices storing instructions that are operable, whenexecuted by the one or more computers, to cause the one or morecomputers to perform operations comprising: receiving, from a computingdevice, an indication of a first future date from a user, wherein thefirst future date is a date later than a current date; identifying oneor more friends of the user that are going to be physically present atone or more respective future locations on the first future date; anddisplaying, on a geographic map on the computing device, a friendrepresentation corresponding to each of the one or more future locationswhere the one or more friends of the user are going to be physicallypresent, wherein each friend representation is displayed on thegeographic map relative to the future location it corresponds to,wherein each friend representation is a marker that includes a dynamiccontent area surrounded by a static border,
 30. The system of claim 29,wherein the operations further comprise: receiving, from the user, anindication at one of the friend representations.
 31. The system of claim30, wherein the operations further comprise: displaying on the computingdevice, a list including at least one of one or more friends associatedwith the future location corresponding to the friend representation andone or more events associated with the future location, wherein the listis displayed on top of the geographic map.
 32. The system of claim 30,wherein the operations further comprise: displaying at least one of anumber of friends of the user that are local to the future location inthe dynamic content area associated with the one friend representation,a number of friends of the user that are visiting the future location inthe dynamic content area associated with the one friend representation,or a number of events at the future location that one or more friendsare attending corresponding to the future location in the dynamiccontent area associated with the one friend representation.
 33. Thesystem of claim 30, wherein the operations further comprise: displayingat least one of a list of names of friends of the user that are local tothe future location in the dynamic content area associated with the onefriend representation, a list of names of friends of the user that arevisiting the future location in the dynamic content area associated withthe one friend representation, or a list of names of events at thefuture location that one or more friends are attending corresponding tothe future location in the dynamic content area associated with the onefriend representation.
 34. The system of claim 29, wherein each friendrepresentation includes a number displayed on the friend representationin the dynamic content area, and wherein the number indicates the numberof friends of the user that are physically present at the respectivefuture location on the first future date, wherein a friend is physicallypresent if the friend is local to the respective future location or isvisiting the respective future location.
 35. The system of claim 29,wherein the first future date and the second future date are each a daterange.
 36. The system of claim 29, wherein the operations furthercomprise: selecting one or more of the future locations that areassociated with a second future date that matches the first future date.37. A non-transitory computer-readable medium storing softwarecomprising instructions executable by one or more computers which, uponsaid execution, cause the one or more computers to perform operationscomprising: receiving, from a computing device, an indication of a firstfuture date from a user, wherein the first future date is a date laterthan a current date; identifying one or more friends of the user thatare going to be physically present at one or more respective futurelocations on the first future date; and displaying, on a geographic mapon the computing device, a friend representation corresponding to eachof the one or more future locations where the one or more friends of theuser are going to be physically present, wherein each friendrepresentation is displayed on the geographic map relative to the futurelocation it corresponds to, wherein each friend representation is amarker that includes a dynamic content area surrounded by a staticborder,
 38. The non-transitory computer-readable medium of claim 37,wherein the operations further comprise: receiving, from the user, anindication at one of the friend representations.
 39. The non-transitorycomputer-readable medium of claim 38, wherein the operations furthercomprise: displaying on the computing device, a list including at leastone of one or more friends associated with the future locationcorresponding to the friend representation and one or more eventsassociated with the future location, wherein the list is displayed ontop of the geographic map.
 40. The non-transitory computer-readablemedium of claim 38, wherein the operations further comprise: displayingat least one of a number of friends of the user that are local to thefuture location in the dynamic content area associated with the onefriend representation, a number of friends of the user that are visitingthe future location in the dynamic content area associated with the onefriend representation, or a number of events at the future location thatone or more friends are attending corresponding to the future locationin the dynamic content area associated with the one friendrepresentation.